<?php

class Programas_Model_Programas extends Model_Cna {
	
	/**
	 * Devuelve un arreglo del listado de programas
	 * @return array
	 */
	public function getProgramas($datos) {
		$programasTable = new Programas_Model_DbTable_Programas();
		return $programasTable->getProgramas($datos);
	}
	
	/**
	 * Almacena los datos de un programa en la base de datos
	 * @param array $datos Los datos del programa
	 */
	public function guardarPrograma($datos) {
		$programasTable = new Programas_Model_DbTable_Programas();
		
		if(isset($datos["codprograma"]) && !empty($datos["codprograma"])) {
			$row = $programasTable->find($datos["codprograma"])->current();
			$row->setFromArray($datos)->save();
		} else {
			unset($datos["codprograma"]);
			return $programasTable->createRow($datos)->save();
		}
		
	}
	
	/**
	 * Carga los datos de un programa
	 * @param int $codprograma
	 * @return Array con los datos del programa
	 */
	public function getPrograma($codprograma){
		$programasTable = new Programas_Model_DbTable_Programas();
		return $programasTable->find($codprograma)->current()->toArray();
	}
	
	/**
	 * Eliminar programa
	 * @param $codprograma
	 * @return int El número de filas eliminadas
	 */
	public function eliminarPrograma($codprograma){
		$programasTable = new Programas_Model_DbTable_Programas();
		return $programasTable->find($codprograma)->current()->delete();
	}
	
	/**
	 * Consulta la tabla nivelacadémico
	 * @return Array con los datos de los niveles académicos
	 */
	public function getNivelesacademicos(){
        $programasTable = new Programas_Model_DbTable_Programas();
	    $array_niveles = $programasTable->getNivelesacademicos();
	    
	    $datos = array();
	    foreach ($array_niveles as $key => $value){
	        $datos[$value["codnivel"]] = $value["nombrenivel"];
	    }
	    return $datos;
	}
	
	/**
	 * Consulta la tabla metodologías
	 * @return Array con los datos de las metodologías
	 */
	public function getMetodologias(){
        $programasTable = new Programas_Model_DbTable_Programas();
	    $array_niveles = $programasTable->getMetodologias();
	    
	    $datos = array();
	    foreach ($array_niveles as $key => $value){
	        $datos[$value["codmetodologia"]] = $value["nombremetodologia"];
	    }
	    return $datos;
	}
	
}
